// pages/mine/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    avatar:'',
    nickname:'尚未登录',
    openid:''
  },
  // 登录方法1：前后端分离的登录流程
  handleLogin(){
    // 0. 获取用户微信信息（头像、昵称），目前已经使用

    // 1. 获取code码
    wx.login({
      success: ({code}) => {
        console.log(code);
        //2. 携带code码给服务端
        wx.request({
          url: 'http://www.vip.com/login',  //服务端提供的登录接口
          data:{
            code  
          },
          success:(res)=>{
            // 3. 客户端拿到登录成功后服务端下发的openid、及其他附带信息（昵称、头像）
            // 4. 将用户信息进行本地缓存，方便后续业务逻辑使用
          }
        })
      },
    })
  },

  // 体验云函数基本使用
  async handleCloudFuc(){
    let res = await wx.cloud.callFunction({
      name:'sum',
      data:{a:123,b:456}
    })
    console.log('云函数调用结果',res);
  },

  // 登录方法2：云函数实现登录流程
  async handleCloudLogin(ev){
    // 1. 获取用户头像
    console.log(ev);
    let {avatarUrl} = ev.detail
    // 2. 随机生成昵称
    let n1 = Math.round(Math.random()*10000+20000)
    let n2 = Math.round(Math.random()*10000+20000)
    let n3 = Math.round(Math.random()*10000+20000)
    let nickname = String.fromCharCode(n1) + String.fromCharCode(n2) + String.fromCharCode(n3)
    
    // 3. 调用登录云函数
    let res = await wx.cloud.callFunction({
      name:'login',
      data:{avatar:avatarUrl,nickname}
    })
    console.log('登录成功的结果',res);

    // 4. 本地显示用户信息
    this.setData(res.result)

    //5. 本地持久化存储用户信息
    wx.setStorage({
      key:'userinfo',
      data:res.result
    })

    //6. 向应用的getApp()对象中存放userinfo
    getApp().userinfo = res.result
    
  },
  handleLogout(){
    wx.removeStorage({
      key: 'userinfo',
    })
    this.setData({
      avatar:'',
      nickname:'',
      openid:''
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 6. 从本地存储提取并展示用户信息
    wx.getStorage({
      key:'userinfo',
      success:(res)=>{
        console.log('成功提取本地存储数据',res)
        this.setData(res.data)
      },
      fail:(err)=>{
        console.log('提取本地存储失败',err)
      }
    })
  },

  //唤起拨号盘
  handleCall(){
    wx.makePhoneCall({
      phoneNumber: '17655556666',
    })
  },

  //扫码
  handleScan(){
    wx.scanCode({
      success:(res)=>{
        console.log(res);
        this.setData({
          scanResult:res.result.dataTime
        })
      }
    })
  },
  //小程序用户，订阅弹窗授权
  handleSubscribe(){
    wx.requestSubscribeMessage({
      tmplIds: ['ZnXF5XmsZvMAw5T7FYnbbWf4NEk8H8aRWGjBsgUJhk8'],
      success:(res)=>{
        console.log(res);
      }
    })
  },
  // 服务端向用户下发订阅通知
  handleSend(){
    wx.cloud.callFunction({
      name:'sendMassage'
    })
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
        title:'一起来冥想吧！',  //自定义分享标题
        path:'/pages/read/index', //自定义分享的页面路径
        imageUrl:'/assets/book/book10.jpg' //自定义封面图
    }
  }
})